package com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.mapper;

import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowTaskCandidateSettings;
import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowTaskCandidateSettingsExample;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Description 流程任务候选人信息设置Dao接口
 * @author liujinjian
 * @date 2021-10-20
 * @version 1.0
 */
@Repository
public interface FlowTaskCandidateSettingsDao {
    /**
     * @Description 根据主键删除候选人信息记录
     * @author liujinjian
     * @date 2021-10-20
     * @param id
     * @version 1.0
     * @return
     */
    int deleteByPrimaryKey(Long id);

    /**
     * @Description 插入候选人设置信息记录
     * @author liujinjian
     * @date 2021-10-20
     * @param record
     * @version 1.0
     * @return
     */
    int insert(FlowTaskCandidateSettings record);

    /**
     * @Description 插入选中的候选者信息记录
     * @author liujinjian
     * @date 2021-10-20
     * @param record
     * @version 1.0
     * @return
     */
    int insertSelective(FlowTaskCandidateSettings record);

    /**
     * @Description 根据主键查询候选人信息记录
     * @author liujinjian
     * @date 2021-10-20
     * @param id
     * @version 1.0
     * @return
     */
    FlowTaskCandidateSettings selectByPrimaryKey(Long id);

    /**
     * @Description 更新选中的候选人信息记录
     * @author liujinjian
     * @date 2021-10-20
     * @param record
     * @version 1.0
     * @return
     */
    int updateByPrimaryKeySelective(FlowTaskCandidateSettings record);

    /**
     * @Description 根据主键更新Blob内容信息
     * @author liujinjian
     * @date 2021-10-20
     * @param record
     * @version 1.0
     * @return
     */
    int updateByPrimaryKeyWithBLOBs(FlowTaskCandidateSettings record);

    /**
     * @Description 根据主键更新流程任务候选人信息记录
     * @author liujinjian
     * @date 2021-10-20
     * @param record
     * @version 1.0
     * @return
     */
    int updateByPrimaryKey(FlowTaskCandidateSettings record);

    /**
     * @Description 根据example查询流程任务候选人设置信息集合
     * @author liujinjian
     * @date 2021-10-20
     * @param example
     * @versiion 1.0
     * @return
     */
    List<FlowTaskCandidateSettings> selectByExampleWithBLOBs(FlowTaskCandidateSettingsExample example);
}